import 自动测试
from 插件.基础函数.常用函数 import *
from 工程.九州项目.接收激励.公共函数 import *

    
def 主收通道噪声系数测试初始化():
    # 射频矩阵1.连接()
#    信号源1.连接()
    信号源2.连接()
    频谱仪1.连接()
    产品初始化()

    信号源2.设置调制关()
    频谱仪1.设置频率起点(7E7-5E3)
    频谱仪1.设置频率终点(7E7+5E3)
    频谱仪1.设置分析带宽自动()
    频谱仪1.设置视频带宽(10)
    频谱仪1.设置参考幅度(0)
    频谱仪1.设置关闭噪声()
    频谱仪1.设置频标模式正常()
    频谱仪1.设置开触发()

    zbb产品.被测产品SPI.设置PTT控制指令("PTT无效")

    print("主收通道噪声测试初始化")
    
def 主收通道噪声系数(通道='主收1',频点=118.0):
    工作方式='AM'
    频率=频点*1000000
    zbb路由.测试主收通道噪声系数(通道)
    zbb产品.被测产品SPI.设置通道方式频点(通道, 工作方式, 频点)

    频谱仪1.设置关闭噪声()
    频谱仪1.设置开触发()
    信号源2.设置频率(频率)
    信号源2.设置幅度(-120+计算插损(频点))
    信号源2.设置射频开()

    延时(2)
    频谱仪1.设置寻峰值()
    仪器主峰值=频谱仪1.读幅度()
    主峰值=按值转换(仪器主峰值,0.1,0)
    频谱仪1.设置寻下一个峰值()
    增益=主峰值+122
    print(主峰值,增益)

    信号源2.设置射频关()
    频谱仪1.设置打开噪声()
    延时(0.5)
    频谱仪1.设置关触发()
    频谱仪1.设置单次触发()
    延时(1)
    噪声=[]
    for i in range(-50,50,1):
        频谱仪1.设置频标频率(70e6+i*100)
        仪器值=频谱仪1.读幅度()
        值=按值转换(仪器值,0.1,0)
        噪声.append(值)
    最小值=min(噪声)
    噪声系数=174-增益+最小值
    print(主峰值,最小值)
    项目="主收通道噪声('"+通道+"',"+str(频点)+")"

    判断合格保存(项目,噪声系数,None,15)

if __name__=='__main__':
    pass
    选择产品(1)
    主收通道噪声系数测试初始化()
    主收通道噪声系数('主收1',118)
